{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import cv2\n",
    "from tqdm import tqdm_notebook\n",
    "from easydict import EasyDict as edict"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "DATA = edict()\n",
    "DATA.grid = edict()\n",
    "DATA.grid.shape = (7, 10)\n",
    "DATA.grid.startPoint = (3, 0)\n",
    "DATA.grid.endPoint = (3, 7)\n",
    "DATA.grid.wind = (0 ,0, 0, 1, 1, 1, 2, 2, 1, 0)\n",
    "DATA.actionSet = [(0, 1), (1, 0), (0, -1), (-1, 0), (1, 1), (1, -1), (-1, -1), (-1, 1), (0, 0)]\n",
    "DATA.episode = edict({'S':[], 'A':[], 'R':[]})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "NUM_ACTION = 9"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "LEGAL_ACTION = [[[] for j in range(10)] for i in range(7)]\n",
    "def getPossiableActions(state, num_action):\n",
    "    if LEGAL_ACTION[state[0]][state[1]] != []:\n",
    "        return LEGAL_ACTION[state[0]][state[1]]\n",
    "    else:\n",
    "        for i in range(num_action):\n",
    "            if state[0] + DATA.actionSet[i][0] <= 6 and state[0] + DATA.actionSet[i][0] >= 0 and state[1] + DATA.actionSet[i][1] <= 9 and state[1] + DATA.actionSet[i][1] >= 0:\n",
    "                LEGAL_ACTION[state[0]][state[1]].append(DATA.actionSet[i])\n",
    "        return LEGAL_ACTION[state[0]][state[1]]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "def actionMapTo2D(num):\n",
    "    return DATA.actionSet[num]\n",
    "\n",
    "def actionMapTo1D(action2D, num_action):\n",
    "    for i in range(num_action):\n",
    "        if action2D == DATA.actionSet[i]:\n",
    "            return i\n",
    "\n",
    "def epislonGreedy(epislon, state, legalAction, Q, num_action):\n",
    "    rd = np.random.uniform(0, 1)\n",
    "    actionLen = len(legalAction)\n",
    "    if rd < 1 - epislon:\n",
    "        maxAction = legalAction[0]\n",
    "        maxAction1D = actionMapTo1D(maxAction, num_action)\n",
    "        maxStateAtferAction = np.array([min(max(state[0] + legalAction[0][0] - DATA.grid.wind[state[1]], 0), 6), state[1] + legalAction[0][1]], dtype = int)\n",
    "        maxActionValue = Q[state[0]][state[1]][maxAction1D]\n",
    "        for i in range(1, actionLen):\n",
    "            action1D = actionMapTo1D(legalAction[i], num_action)\n",
    "            tmpState = [min(max(state[0] + legalAction[i][0] - DATA.grid.wind[state[1]], 0), 6), state[1] + legalAction[i][1]]\n",
    "            if Q[state[0]][state[1]][action1D] > maxActionValue:\n",
    "                maxActionValue = Q[state[0]][state[1]][action1D]\n",
    "                maxAction = legalAction[i]\n",
    "                maxStateAtferAction = tmpState\n",
    "        return maxAction, maxStateAtferAction\n",
    "    else:\n",
    "        rd2 = np.random.randint(0, actionLen)\n",
    "        returnState = np.array([min(max(state[0] + legalAction[rd2][0] - DATA.grid.wind[state[1]], 0), 6), state[1] + legalAction[rd2][1]], dtype = int)\n",
    "        return legalAction[rd2], returnState\n",
    "\n",
    "\n",
    "def sarsa(n_episode, gamma, epislon, alpha, num_action):\n",
    "    Q = np.zeros(shape = (7, 10, num_action))\n",
    "    endState = np.array(DATA.grid.endPoint, dtype = int)\n",
    "    stepCounter = 0\n",
    "    y = []\n",
    "    x = []\n",
    "    for episode in tqdm_notebook(range(n_episode)):\n",
    "        y.append(episode)\n",
    "        state = np.array(DATA.grid.startPoint, dtype = int)\n",
    "        legalAction = getPossiableActions(state, num_action)\n",
    "        action, newState = epislonGreedy(epislon, state, legalAction, Q, num_action)\n",
    "        while (state == endState).all() == False:\n",
    "            # print(state)\n",
    "            stepCounter += 1\n",
    "            action1D = actionMapTo1D(action, num_action)\n",
    "            legalActionNewState = getPossiableActions(newState, num_action)\n",
    "            actionNewState, newNewState = epislonGreedy(epislon, newState, legalActionNewState, Q, num_action)\n",
    "            actionNewState1D = actionMapTo1D(actionNewState, num_action)\n",
    "            Q[state[0]][state[1]][action1D] = Q[state[0]][state[1]][action1D] + alpha * (-1 + gamma * Q[newState[0]][newState[1]][actionNewState1D] - Q[state[0]][state[1]][action1D])\n",
    "            state = newState\n",
    "            action = actionNewState\n",
    "            newState = newNewState\n",
    "        stepCounter += 1\n",
    "        x.append(stepCounter)\n",
    "    np.save(\"Q\" + str(num_action) + \".npy\", Q)\n",
    "    return y, x, Q"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\inspur\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\ipykernel_launcher.py:37: TqdmDeprecationWarning: This function will be removed in tqdm==5.0.0\n",
      "Please use `tqdm.notebook.tqdm` instead of `tqdm.tqdm_notebook`\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "a71092ae7e034892a19d3c492245c7f1",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/200 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "6bad45dd29684d0e97be0538a3208e62",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/200 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "e56be8870e614ae4a853ef085ef36a8e",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/200 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x2592a7ca848>"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_episode = 200\n",
    "gamma = 1\n",
    "alpha = 0.5\n",
    "epislon = 0.1\n",
    "\n",
    "y8, x8, Q8 = sarsa(n_episode, gamma, epislon, alpha, 8)\n",
    "LEGAL_ACTION = [[[] for j in range(10)] for i in range(7)]\n",
    "y9, x9, Q9 = sarsa(n_episode, gamma, epislon, alpha, 9)\n",
    "LEGAL_ACTION = [[[] for j in range(10)] for i in range(7)]\n",
    "y4, x4, Q4 = sarsa(n_episode, gamma, epislon, alpha, 4)\n",
    "x8_per_eposide = [x8[0]]\n",
    "for i in range(1, len(x8)):\n",
    "    x8_per_eposide.append(x8[i] - x8[i-1])\n",
    "plt.plot(y8, x8_per_eposide, label = \"8 Actions\")\n",
    "x9_per_eposide = [x9[0]]\n",
    "for i in range(1, len(x9)):\n",
    "    x9_per_eposide.append(x9[i] - x9[i-1])\n",
    "plt.plot(y9, x9_per_eposide, label = \"9 Actions\")\n",
    "x4_per_eposide = [x4[0]]\n",
    "for i in range(1, len(x4)):\n",
    "    x4_per_eposide.append(x4[i] - x4[i-1])\n",
    "plt.plot(y4, x4_per_eposide, label = \"4 Actions\")\n",
    "plt.ylabel(\"Time Step\")\n",
    "plt.xlabel(\"Episode\")\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\inspur\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages\\ipykernel_launcher.py:37: TqdmDeprecationWarning: This function will be removed in tqdm==5.0.0\n",
      "Please use `tqdm.notebook.tqdm` instead of `tqdm.tqdm_notebook`\n"
     ]
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "47765356576541748cea882d37bbca30",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/1000 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "bb23943fb44145ba8d6fb307eecce919",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/1000 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "880f16c2045e46d0bff4dd8f522000b6",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/1000 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_episode = 1000\n",
    "gamma = 1\n",
    "alpha = 0.5\n",
    "epislon = 0.1\n",
    "LEGAL_ACTION = [[[] for j in range(10)] for i in range(7)]\n",
    "y8, x8, Q8 = sarsa(n_episode, gamma, epislon, alpha, 8)\n",
    "LEGAL_ACTION = [[[] for j in range(10)] for i in range(7)]\n",
    "y9, x9, Q9 = sarsa(n_episode, gamma, epislon, alpha, 9)\n",
    "LEGAL_ACTION = [[[] for j in range(10)] for i in range(7)]\n",
    "y4, x4, Q4 = sarsa(n_episode, gamma, epislon, alpha, 4)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x259291b62c8>"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAY8AAAEGCAYAAACdJRn3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAABHjklEQVR4nO3dd1xW1R/A8c8RAXGhuHOBuScq4t7bMsuGZrlLrcyVpv0sV+ZIG5qWmlZOtBxpztxo7oGKE0VFnAgICLIezu+P56q4QYHL+L5fL17ce+597v2e5wG+3HvOPUdprRFCCCESI5PZAQghhEh7JHkIIYRINEkeQgghEk2ShxBCiEST5CGEECLRMpsdQHLImzevdnZ2NjsMIYRIUw4ePHhTa50vIfumy+Th7OzMgQMHzA5DCCHSFKXUxYTuK7ethBBCJJokDyGEEIkmyUMIIUSipcs2j8eJiYnB39+fyMhIs0NJs7JkyUKRIkWwtbU1OxQhhMkyTPLw9/cnR44cODs7o5QyO5w0R2tNYGAg/v7+uLi4mB2OEMJkyXbbSin1m1LqhlLKO16Zk1Jqo1LKx/ie2yhXSqmpSqmzSqmjSqlq8V7T1djfRynV9XnjiYyMJE+ePJI4npNSijx58siVmxACSN42jz+AVg+VDQM2a61LAZuNdYDWQCnjqxfwC1iTDTASqAm4AyPvJpznIYnjxcj7J4S4K9mSh9baEwh6qLgdMNdYngu8Hq98nrbaA+RSShUCWgIbtdZBWutgYCOPJiQhRAoLDo9m1KrjRMZYHtxw8yxs/hqibpsTWAamtWbZmWV4+numyPlSurdVAa31VWP5GlDAWC4MXIq3n79R9qTyRyileimlDiilDgQEBCRt1Enkhx9+oEKFClSsWJF33333ibeAYmNjyZcvH8OGDXvs9vi2bdvGrl277q3PmDGDefPmJVnMQjzOVyu9WbDnIof9bj24YeNXsHcmxESYEldGFRMXw+jdoxm1exT/nPsnRc5pWlddbZ2FKslmotJaz9Jau2mt3fLlS9DT9Snq8uXLTJ06lQMHDuDt7Y3FYmHx4sWP3Xfjxo2ULl2av/76i2dN1vVw8ujTpw9dunRJ0tiFiG+nz01WH71K74YlqP1ynvsbzvwLp9dCg88ge37zAsxgwqLD+GTTJyzzWcYHlT5gYoOJKXLelE4e143bURjfbxjll4Gi8fYrYpQ9qTxNio2N5c6dO8TGxhIREcFLL7302P08PDzo378/xYoVY/fu3ffK169fT7Vq1ahSpQpNmzblwoULzJgxgx9++AFXV1d27NjBqFGjmDx5MgBeXl7UqlWLypUr88YbbxAcHAxAo0aNGDp0KO7u7pQuXZodO3YAcPz4cdzd3XF1daVy5cr4+Pgk8zsi0prg8GgG/elFqfzZ+bhRyfsbQq/AP/0hXzmo9bF5AWYwl29fpsu6Luy/tp8xdcbQv1p/MqmU+bOe0l11VwFdgQnG95XxyvsqpRZjbRwP0VpfVUptAMbFayRvAXzxokGM/uc4J66EvuhhHlD+pZyMbFvhidsLFy7M4MGDKVasGA4ODrRo0YIWLVo8sl9kZCSbNm1i5syZ3Lp1Cw8PD+rUqUNAQAAffvghnp6euLi4EBQUhJOTE3369CF79uwMHjwYgM2bN987VpcuXfjpp59o2LAhI0aMYPTo0fz444+ANZHt27ePtWvXMnr0aDZt2sSMGTPo378/7733HtHR0VgslkfiExmX1prhfx8jOCKa37vXIJu98efj0j7weBeiw6HjQshsb26gGcTB6wf5bNtnRMdFM6P5DGoWqpmi50/OrroewG6gjFLKXynVE2vSaK6U8gGaGesAawFf4CzwK/AxgNY6CPga2G98jTHK0pzg4GBWrlzJ+fPnuXLlCuHh4SxYsOCR/VavXk3jxo1xcHDgzTff5O+//8ZisbBnzx4aNGhw7xkLJyenp54vJCSEW7du0bBhQwC6du2Kp+f9hrT27dsDUL16dS5cuABA7dq1GTduHBMnTuTixYs4ODgkRdVFOvG312XWHrvGoOZlqPCSo7XQdxv88SpkyQm9t0Phak89hnhxWmvmHp9L9/XdyWqblQWtF6R44oBkvPLQWr/7hE1NH7OvBj55wnF+A35LwtCeeoWQXDZt2oSLiwt322Pat2/Prl27eP/99x/Yz8PDg507d3J3SPnAwEC2bNmS5PHY21v/O7SxsSE2NhaATp06UbNmTdasWUObNm2YOXMmTZo0SfJzi7Rn04nrfLH8GDWcc9OrQQlr4RUvWNoDcheH7ushW56nHkO8uBhLDGP3jmW5z3KaF2/O2LpjyWqb1ZRYZGyrFFKsWDH27NlDREQEWms2b95MuXLlHtgnNDSUHTt24Ofnx4ULF7hw4QLTp0/Hw8ODWrVq4enpyfnz5wEICrJegOXIkYOwsLBHzufo6Eju3LnvtWfMnz//3lXIk/j6+lKiRAn69etHu3btOHr0aFJUXaRxO31u0tfjEM55sjH13arYZFLgf9B6xWGbFd5dLIkjBYREhdB7U2+W+yznw0ofMrnhZNMSB0jySDE1a9bkrbfeolq1alSqVIm4uDh69er1wD4rVqygSZMm964KANq1a8c///xDzpw5mTVrFu3bt6dKlSp06NABgLZt27JixYp7DebxzZ07lyFDhlC5cmW8vLwYMWLEU2P8888/qVixIq6urnh7e0uvLcHtqFiGLD1CIUcHfu9eg0KODhB2DRa9DVkcocd6yPOy2WGme763fOm0phNeN7wYV28c/ar1S7GG8SdRz+oKmha5ubnphyeDOnny5CP/6YvEk/cxY/ny72Ms3OvH0j51qF48N8TFwcI34eJu6O0J+UqbHWK6prVmxdkVTNg3AYfMDkxpPAXX/K7Jdj6l1EGttVtC9s0wAyMKIRJn+5kAFuzx44N6LtbEAXBgDpzbAq98L4kjmV0KvcTE/RPZ7r8d94LufFPvGwpmK2h2WPdI8hBCPOJWRDRDlx6lRN5sDGlVxlp44xRs+B+UbAZuPcwNMJ1bdW4VY/eMRaEY7DaYzuU7m36b6mGSPIQQD7DEacavPcX1sEhWfVIP+8w2oDWsHwa2DvDGTJBBMpNFREwE4/aOY+W5ldQoWIPx9cZTIFuBZ7/QBJI8hBD3xMVpvl59giUHLtGtjjOVihjPc5xeB75bofW3kC2vuUGmU+duneOzbZ/hG+JLnyp96FO5DzaZbMwO64kkeQghAIiMsdB5zl72XwimWx1nRrYtb90QG2W9XZWvrNyuSiYbLmzgq/++wiGzAzObz6T2S7XNDumZJHkIIbgTbWHw0iPsvxDM2Ncr8l7NYvfnb9n3KwSfh/eXgY1MQZyUbkffZurhqXic8qBKvip83+h78mdNG4NKpq4WmHRuypQpVKxYkQoVKtwbY+pJXF1d6dix4zOP6eXlxdq1a++tr1q1igkTJjzlFUI86su/vVl77CqDmpfm/VrF7yeOiCDw/NbaSF6ymblBpjNBkUF039CdxacW06lsJ35v+XuaSRwgVx4pxtvbm19//ZV9+/ZhZ2dHq1atePXVVylZsuQj+548eRKLxcKOHTsIDw8nW7ZsTzyul5cXBw4coE2bNgC89tprvPbaa8lWD5H+rDl6lWWH/OnXtBT9mpZ6cOPGEdaJnZqPMSe4dMov1I9+W/px+fZlfmn2C3UL1zU7pESTK48UcvLkSWrWrEnWrFnJnDkzDRs2ZPny5Y/d18PDg86dO9OiRQtWrlx5r3z//v3UqVOHKlWq4O7uTkhICCNGjGDJkiW4urqyZMkS/vjjD/r27QvAhQsXaNKkCZUrV6Zp06b4+fkB0K1bN/r160edOnUoUaIES5cuBeDq1as0aNAAV1dXKlas+MgT6yL9iYiOZeQqb6oUcaRv44f+kfHdBofnQ91+UCDlx4NLrzz9PXln9TsE3Ang52Y/p8nEARn1ymPdMLh2LGmPWbAStH7y7aKKFSsyfPhwAgMDcXBwYO3atbi5Pf5BziVLlrBx40ZOnTrFTz/9RKdOnYiOjqZDhw4sWbKEGjVqEBoaStasWRkzZgwHDhxg2rRpAPzxxx/3jvPpp5/StWtXunbtym+//Ua/fv34+++/AWui2LlzJ6dOneK1117jrbfeYtGiRbRs2ZLhw4djsViIiJDZ4NK7ubsucvN2NDM7V8cuc7z/JcOuw8pPIU9JaDjUvADTEa01807M4/uD31M6d2mmNJ7CS9kfP6dPWpAxk4cJypUrx9ChQ2nRogXZsmXD1dUVG5tHu+EdOHCAvHnzUqxYMQoXLkyPHj0ICgri8uXLFCpUiBo1agCQM2fOZ55z9+7d965uOnfuzOeff35v2+uvv06mTJkoX748169fB6BGjRr06NGDmJgYXn/9dVxdXZOg5iK1CrkTw0zPczQsnY/qxeMN8R9ngWU9ITwAuq2xPtshXkiMJYav93zNirMraFasGd/U+8bUQQ2TQsZMHk+5QkhOPXv2pGfPngD873//o0iRIo/s4+HhwalTp+4NyR4aGsqyZcuoVatWksYSf/DFu+ObNWjQAE9PT9asWUO3bt0YNGiQDI6Yjk3b4kPInRiGtCzz4IYd38GFHfDaT1CkujnBpSNBkUEM3DqQQzcO0btybz52/TjVPS3+PNJ+DdKQGzess+76+fmxfPlyOnXq9MD2uLg4/vzzT44dO3ZvSPaVK1fi4eFBmTJluHr1Kvv37wcgLCyM2NjYJw7JDlCnTp1786QvXLiQ+vXrPzW+ixcvUqBAAT788EM++OADDh069KJVFqnUrrM3+WPXBd6pXpSKhR3vbwjyhe3fQsU3oWpn8wJMJ3yCfei0phPHA4/zbYNv6Vu1b7pIHJBRrzxM8uabbxIYGIitrS3Tp08nV65cD2zfsWMHhQsXfmBu8wYNGnDixAkCAwNZsmQJn376KXfu3MHBwYFNmzbRuHFjJkyYgKurK1988eAMvT/99BPdu3dn0qRJ5MuXj99///2p8W3bto1JkyZha2tL9uzZmTdvXpLVXaQeC/Zc5Mu/vSmQ057PWj40uOGm0dZnOVp8I0OQvKDtl7bzuefnZLPNxh+t/qBi3opmh5SkZEh2kSjyPqZtW05dp/f8g9QrmZef36uOg128drfDC2Hlx9DoC2g0zLwg04EVPisYtXsUZZ3KMrXx1FQ7PtXDZEh2IcQjzt8M56MFhyiVPwc/dqz6YOI4uRpW9QWXhlD/M/OCTOO01szxnsOUQ1OoXag2Pzb+Mc03jD+JJA8hMoDo2Dh6zz+Ag50Ns7u64egQb5iRqDBYO9ja3fzdxTIEyXOKtkQzctdIVvuuprVza8bWG4udjZ3ZYSUbSR5CZACzd/py5vpt5nR146VcD3W9Xd7LOrXs23PBLn3+l5zcgiODGbB1AIduHKKva196Ve51f4iXdEqShxDp3KWgCKZu9qFVhYI0LffQvXfv5XB6LTQdCcVqmhNgGnch5AIfb/6Y6+HXmdRgEq1cWpkdUoqQ5CFEOqa1ZsRKb2yUYuRr5R/cGHUb1n8BL1WDOp+aE2Aat//afgZsHUDmTJmZ03JOss4vntqkjw7HQojH2nD8GltPBzCweWkKOT50u+q/KXD7GrSeKO0cz+GvM3/Ra2Mv8jrkZUGbBRkqcYAkjxRnsVioWrUqr7766hP3iY2NJV++fAwb9uzuktu2bWPXrl331mfMmCHPZwjAOrnTmH9OUK5QTrrVcX5w461LsGsqVHwLirqbEl9aZYmzMH7veMbsHkPNQjWZ32Y+RXMUNTusFCfJI4VNmTLlmc9JbNy4kdKlS/PXX3/xrOdwHk4effr0kSFFBACzd/hyJSSSkW3Lk9nmoV/1TaOs35uNSumw0rQoSxRDPIew6NQiupTvwvQm08lp9+xx5tIjSR4pyN/fnzVr1vDBBx88dT8PDw/69+9PsWLF2L17973y9evXU61aNapUqULTpk25cOECM2bM4IcffsDV1ZUdO3YwatQoJk+eDFjn+qhVqxaVK1fmjTfeIDg4GIBGjRoxdOhQ3N3dKV269L2h148fP467uzuurq5UrlwZHx+fZHonRHILiYhh5nZfmpcvQK0SeR7ceGkfeC+1tnPkynj/MT+v0OhQPtr0ERsvbmSI2xCG1BiSqucYT24ZssF84r6JnAo6laTHLOtUlqHuTx+6esCAAXz77bdPHIsKIDIykk2bNjFz5kxu3bqFh4cHderUISAggA8//BBPT09cXFwICgrCycmJPn36kD17dgYPHgzA5s2b7x2rS5cu/PTTTzRs2JARI0YwevToezMYxsbGsm/fPtauXcvo0aPZtGkTM2bMoH///rz33ntER0djsVhe/I0Rppi905ewqFgGNX9o+JG4OGsjefaCUHeAKbGlRRdCLvDplk/xv+3P+PrjebXEk287ZxRy5ZFCVq9eTf78+ale/emjlK5evZrGjRvj4ODAm2++yd9//43FYmHPnj00aNAAFxcXAJycnJ56nJCQEG7dukXDhg0B6Nq1K56enve2t2/fHoDq1atz4cIFAGrXrs24ceOYOHEiFy9exMFBhuJOi7afCWDG9nO8UrkQ5Qo9dEvFawFcPgDNRoJ9dnMCTGO8bnjReV1nQqJCmN1itiQOQ4a88njWFUJy+O+//1i1ahVr164lMjKS0NBQ3n//fRYsWPDAfh4eHuzcufPekOyBgYFs2bIlyeO5OyS7jY0NsbGxAHTq1ImaNWuyZs0a2rRpw8yZM2nSpEmSn1sknzvRFkas9MY5TzbGvV7pwY3nPWFVPyjiDpU7mhNgGvPPuX8YvXs0BbIWYEazGRTNKbf57jLlykMpNVApdVwp5a2U8lBKZVFKuSil9iqlziqlliil7Ix97Y31s8Z2ZzNiflHjx4/H39+fCxcusHjxYpo0afJI4ggNDWXHjh34+fndG5J9+vTpeHh4UKtWLTw9PTl//jwAQUFBAE8ckt3R0ZHcuXPfa8+YP3/+vauQJ/H19aVEiRL069ePdu3acfTo0aSoukhBkzacxi8ogpFtK+CYNV7324u7YOHb4OQC7y+DTHLT4Wli4mIYu2cs/9v5PyrmrWjtUSWJ4wEp/hOklCoM9APctNYVARugIzAR+EFrXRIIBnoaL+kJBBvlPxj7pUsrVqygSZMmD0zU1K5dO/755x9y5szJrFmzaN++PVWqVKFDhw4AtG3blhUrVtxrMI9v7ty5DBkyhMqVK+Pl5cWIESOeev4///yTihUr4urqire3t/TaSmPOXA9j7u4LvOtejHql8t7fYImB1QMhe37ovg6yZMzeQQkVHBlM7429WXJ6Cd0qdGN2i9k4ZXn6beIMSWudol9AYeAS4IT1ttlqoCVwE8hs7FMb2GAsbwBqG8uZjf3U085RvXp1/bATJ048UiYST97H1MliidMdZ+7WlUdt0IG3o+5viIvTet0XWo/MqfWpteYFmEb4h/nrV5a/oqvNq6ZXnV1ldjgpDjigE/i3PMWvPLTWl4HJgB9wFQgBDgK3tNaxxm7+WJMM3E82GNtDgIf6HgqRsQ3/25vdvoEMblkGp2zxRnLd8R3smW6dFbB0xhhz6XmdDDxJ57WdCY4MZnbL2bR9ua3ZIaVqZty2yg20A1yAl4BswAv/VCuleimlDiilDgQEBLzo4YRIM3adu4nHPj961HXh/ZrF7m+4esSaPEq3grZTZWbAp9jqt5Vu67thk8mGua3mUjV/VbNDSvXMaDVrBpzXWgdorWOA5UBdIJdS6m7vryLAZWP5MlAUwNjuCAQ+fFCt9SyttZvW2i1fvnyPPbFOh7MmpiR5/1Kf6Ng4vvrbm6JODnzeqsz9YcD99sJvrSBLLmj9rTSQP0FwZDD9tvSj39Z+FMtZjIVtFlIyd0mzw0oTzPiJ8gNqKaWyKutPelPgBLAVeMvYpyuw0lheZaxjbN+in+OvWJYsWQgMDJQ/gM9Ja01gYCBZsmQxOxQRz687fDkXEM6Y1yqSxdZ42jkqDP7qBjkKQq9tkLu4mSGmSlprFpxYQJvlbdhxeQcDqg1gQZsF5M+a3+zQ0owUf85Da71XKbUUOATEAoeBWcAaYLFSaqxRNsd4yRxgvlLqLBCEtWdWohUpUgR/f3/kltbzy5IlC0WKFDE7DGE4fS2Mn7ZY5+loXDbeH72t4yHsKvTcCDnSxtzZKSk8JpzhO4ez2W8zdQvX5bPqn1Eqdymzw0pzTHlIUGs9Ehj5ULEv8MjwnlrrSODtFz2nra3tvaezhUjrImMsfLTwIDmz2D44T4fPJtj7C7j1gKI1zAswlfK95cugbYO4EHqBwW6D6VK+S7qf8S+5ZMgnzIVI637/7wK+AeHM6+F+f56OY0thRW/IX8E6/Ih4wPrz6xmxawQOmR2Y0XwGtQrVMjukNE2ShxBpzM3bUUzfepZm5QrQoLTROeTibmviKFoL3vWQBwHjibHE8P3B71lwcgFV81dlUoNJFMgmt/NelCQPIdKY4SuOER0bxxdtyloLAk7Dn50hV3F4d5EkjnjOh5xn+M7hHLt5jPfLvc8gt0HYZpJZE5OCJA8h0pD9F4LYcPw6nzUvzcv5skNkCMxtC1rDu4shi6PZIaYK0ZZoZh+bzW/ev2FvY893Db+jhXMLs8NKVyR5CJFGRMfGMXzFMV5yzEKPekbnj+3fwu3r8MFmyFf66QfIIG5E3GDQtkEcCThCS+eWDK0xlHxZH//sl3h+kjyESCPGrT3Jmeu3mdPVjWz2meHkatg9zTr0SBE3s8NLFbxueDFo2yBux9yWq41kJo+dCpEG7Dp7k3m7L9CldnGalisAEUGw8hPIWwbaTDI7vFRh2ZlldN/QHXsbexa2WSiJI5nJlYcQqdzJq6F0/2M/xZyy3p9Wdtt4iAqF7mvBNmPP+Ki1Zurhqcw+Nps6L9Xh2wbf4mgvbT/JTZKHEKnYxcBwuvy2D0cHW5b0rk2urHZw/QTsnwNuPaFABbNDNFVsXCxf7/ma5T7Leav0W3xZ80tsMtmYHVaGIMlDiFRswrpTRETFsvzjuhTImQWibsPqAWCfAxr/z+zwTBUZG8kQzyFsu7SNPlX68HGVj+Vp8RQkyUOIVOqo/y3WeV+jf9NSlCmYA2KjYE4LuHEc3pgJWTPu7HYhUSH029KPwzcO87+a/+Pdsu+aHVKGI8lDiFTodlQsny89Su6stnxQ3+iW+9/U+4mjynOND5ounLt1jk+3fMrV8Kt82/BbWjnLJFdmkOQhRCr0zZoTnL4exi/vVSdHFls4tRY8J0H51zN04th5eSdDtg/B3sae31r+JpM2mUiShxCpzHrva3jsu0TvhiVoVSo7/P0JeC2A7AWg1QSzwzNFbFws072mM/vYbMrkLsO0ptMomK2g2WFlaJI8hEhFdp27Sb/Fh6lSxJFBzUrBkg5wbgvUGwgNPge7rGaHmOKuhV9jqOdQDt04xJul3mSo+1AcMmfs7smpgSQPIVIJv8AIPpx7gOJOWfmjuzv2h36Ds5ug5Tio/YnZ4ZnC09+T4TuHE2WJYly9cbR9ua3ZIQmDJA8hUoFYSxyfLzuCBub2cCf3rWOwfhg41wf3XmaHl+JiLDFMOTSFuSfmUiZ3GSY3nIyzo7PZYYl4JHkIkQrM3X2RPb5BTHyzEi9FX4T57SHnS/DOPLDJWEOI+4f587nn5xy7eYwOZTowpIa1gVykLpI8hDDZ9jMBjF1zgvql8vKOa36Y3RQyZYau/2S4Zzk2XtzIyP+ssyB+3+h7mhdvbnJE4kkkeQhhosDbUXy66BCl8+dgxvvVUVtGwnVveHcJOLmYHV6KibJEMXn/ZBafXkylvJX4tsG3FMlRxOywxFNI8hDCJFprhi47RkS0henvVSWb/w7rEOtuPaFMxnnwLSgyiH5b+nEk4Ahdy3elf7X+2GawW3VpkSQPIUzy1UpvNp28zhety1LSUcH8jyFvaWgx1uzQUszhG4cZvnM4NyJuyPwbaYwkDyFMsGS/Hwv2+NGtjjO96rvAus8h7Aq8/W+GeJbDEmfhu4PfMf/EfPI75Gd2i9m45nc1OyyRCJI8hEhhQeHRjFt7itol8jDi1fKoPdNg/69QpRMUq2l2eMkuPCacoZ5D2e6/nY5lOjKw+kCy2qb/hJneSPIQIoV99+9pbkfFMrpdBTKFXYGt46Fkc2g3zezQkt218Gt8svkTzt06x/Caw+lYNuOO05XWSfIQIgUdvxLCon1+dK3tTOkcMTD7VdAWeGUypPNJjI4GHKX/1v5ExkYyvel06haua3ZI4gXIHOZCpJDQyBg++/MIubPaMbDJy7BmENzyg7fnQm5ns8NLVst9ltNtfTfsbeyZ33q+JI50QK48hEgBWmt6zTvA2Ru3mdPVDcc1H8DJf6DJl+m6W25IVAjj941nje8aaheqzbcNviVXllxmhyWSgCQPIVLAxhPX2eMbxNh2FWh4crQ1cTQcCvUHmx1asrkQcoG+W/pyOewyH7t+TK9KvWR+8XREkocQySwuTvP9xjOUyJOVTjd/tM7NUW8QNBwG6XTO7T1X9zBo2yAyq8zMaTmHagWqmR2SSGKSPIRIZkOXHeXUtTBW1PUj08Hfoc6n0HREukwcWmsWn17MxH0TcXF0YVrTaRTOXtjssEQyMKXBXCmVSym1VCl1Sil1UilVWynlpJTaqJTyMb7nNvZVSqmpSqmzSqmjSin5F0akGWuOXuWvg/584W6Lq9cIKF4Xmo5Ml4kj2hLNqN2jGLd3HPUL12d+6/mSONIxs3pbTQHWa63LAlWAk8AwYLPWuhSw2VgHaA2UMr56Ab+kfLhCJN7ZG7f57C8vahTNxoe3fkDZ2MFbv6fLIdYDIgLovqE7y32W82GlD5nSZArZ7bKbHZZIRil+20op5Qg0ALoBaK2jgWilVDugkbHbXGAbMBRoB8zTWmtgj3HVUkhrfTWFQxciwXyuh9Ht9/3Y2cC8gn+R6dguaD8bchQwO7Qkd+DaAYZ6DiUsJkzGp8pAzLjycAECgN+VUoeVUrOVUtmAAvESwjXg7m9ZYeBSvNf7G2UPUEr1UkodUEodCAgISMbwhXi6i4HhdPltH9GWODZU+Q+HYwug/mdQ+W2zQ0tSWmt+Pfor3Td0x87Gjvmt50viyEDMSB6ZgWrAL1rrqkA4929RAWBcZejEHFRrPUtr7aa1dsuXL1+SBStEYgSHR9Nz7gEioi0sbp2JQkd/to5Z1eQrs0NLUhExEQzePpiph6fS2qU1y15bRhmnMmaHJVKQGb2t/AF/rfVeY30p1uRx/e7tKKVUIeCGsf0yUDTe64sYZUKkKqGRMXyy6BB+QREseK8cL69uDo6FodX4dNVA7h/mT9/NfTkfep4B1QbQo2IPVDqqn0iYBF15GD2e3ldKjTDWiyml3J/nhFrra8AlpdTdf1OaAieAVUBXo6wrsNJYXgV0MWKoBYRIe4dIbWItcbwzYzf7zgfxTbsKuJ+aAOE3rEOPOOQyO7wk4xPsQ5d1XQi4E8DM5jPpWamnJI4MKqFXHj8DcUATYAwQBiwDajzneT8FFiql7ABfoDvWRPanUqoncBF4x9h3LdAGOAtEGPsKkar87XWFU9fC+OndqrRV/8ERD2s7R+H007N815VdDNk+hCw2WZjbai4lc5c0OyRhooQmj5pa62pKqcMAWutg4w//c9FaewFuj9nU9DH7auCT5z2XEMktxhLHT1t8qPBSTl4tnRWm/Q8KV4fGw80OLUlEW6L54/gf/HT4J5xzOvNLs19kfnGR4OQRo5SywWjEVkrlw3olIkSGN/nf01wMjOC3rtVR64ZCeAB0WpIuhlg/cO0AI3aN4FLYJVo6t+Sbet9gb2NvdlgiFUho8pgKrADyK6W+Ad4Cvky2qIRII7advsHM7b68V7MYTe5shKOLrQMepvHbVVGWKKYcmsL8E/Mpkr0IPzf9mXqF60n7hrgnQclDa71QKXUQ620lBbyutT6ZrJEJkcpZ4jQT1p2ieJ6sjCrlC8sHgnN9a/JIw44HHmf4juGcCzlHhzIdGFR9kEwTKx7x1OShlHKKt3oD8Ii/TWsdlFyBCZHa/X34MqeuhbG+6h5sl06F/BXgnXlp9nZVZGwkUw9PZdHJReTJkocZzWbIpE3iiZ515XEQazuHAooBwcZyLsAP69PiQmQ4kTEWvt94hl55vSl7ciqUfx1e/xnsspkd2nO5fPsyA7cO5GTQSd4s9SYDqw/E0d7R7LBEKvbU5KG1dgFQSv0KrNBarzXWWwOvJ3t0QqRSC/ZcJPrWVT7PPgUKVYE3Z6fZAQ93XdnF556fExcXx7Qm02hYtKHZIYk0IKHDk9S6mzgAtNbrgDrJE5IQqVtYZAzTt/gwNfcSMlsi0+xIuVprZh+bzUebPiKfQz4Wv7pYEodIsIT2trqilPoSWGCsvwdcSZ6QhEjdfvX0pVX0Bmrr7dY5yPO8bHZIiXY7+jZf/vclm/0208q5FaPrjJZGcZEoCU0e7wIjsXbXBfA0yoTIUALColiy05st9n9Csfppcg7yfVf38fWer7kUdonPa3zO++Xely64ItES2lU3COivlMphXdW3kzcsIVKf4PBouv+xj656FdniwtLcgIcXQy8yaf8ktvtvp1C2Qvza4ldqFHzeEYZERpeg5KGUqgTMA5yM9ZtAV621dzLGJkSqER0bR58FBwm67k8v+w1Q7i0oWMnssBJsi98WvtjxBZlUJgZWH8h75d6TJ8XFC0nobauZwCCt9VYApVQjYBbSaC4yAK01X/3tzd7zQWwp50nmizHQ+H9mh5UgcTqOWUdnMd1rOhXyVODHxj9SMFtBs8MS6UBCk0e2u4kDQGu9zZj9T4h0LTLGwoiV3vx5wJ/xbhGUOL4YqndLE43kgXcC+XrP12z228yrJV5lZO2RZMmcxeywRDqR0OThq5T6CphvrL+PdSh1IdK13/+7wJ8H/OlcoxAdbw6E7AWg+ddmh/VM+6/tZ8j2IYREhTDYbTBdyneRRnGRpBL6nEcPIB+w3PjKa5QJkW5tPHGdSRtO0bRMPr7W01BXvaDZKLDPbnZoT7XGdw29NvYip31OlrRdQtcKXSVxiCSX0N5WwUA/AGNo9mxa69DkDEwIM/3x33lGrz6BS55s/FxkA/y3DBp9AVU6mh3aE8XGxfLH8T+YcmgKbgXcmNJkCjntcpodlkinEjoN7SKlVE6jneMYcEIpNSR5QxPCHFtP3WDUPydoXq4Aa1/T2O/+ESq+lapHyz0ScIQ3Vr7BlENTaFG8BTOaz5DEIZJVQm9blTeuNF4H1mEdELFzcgUlhFkCwqIY/NcRyhbMwU9N7cmyrAvkKQmvTE6Vz3TE6TjmHZ9Ht3XdiImLYUrjKUxuOFm64Ypkl9AGc1ullC3W5DFNax2jlNLJF5YQKS8yxsLAJV6ERcWypGtZ7Je0BNus8N5ScMhtdniPOH7zOKN3j+Zk0EmaFmvKmLpj5GpDpJjEPOdxATgCeCqligPS5iHSDa01I1Z689+5m0xsX5GSB76GsKvwwWbIVdTs8B4QZYniF69f+OP4H+TJkofx9cfzissr0iguUlRCG8ynYp2K9q6LSqnGyROSECkrMsbCpA2n+fOAPz3quvBO5DI4ugQaD09V08la4iwsP7ucucfncjH0Im+UfIPBNQbL1YYwxbNmEnxfa71AKTXoCbt8nwwxCZFigsKjeWvGLnwDwnnHrQjDS/nB4tFQvh00SD19Qnb47+CHQz/gE+xDOadyMsufMN2zrjzuPkWeI7kDESKlhdyJoc/8g1wKimBuD3caFrGB6W9ap5N9Y1aqaSCfd3wekw5MwjmnM5MaTKKlc0u5RSVM96yZBGca30enTDhCpIzroZF0/W0f5wJu8907rjR8OTf81RXCb8L7y8HW/GE8oi3RTNg3gb/O/EXz4s0ZV2+cDC8iUo2EjqpbApgC1MI6p/luYKDWWoYoEWlOrCWOXvMOcCkogt+7uVOvVF7YPwdOrYYWY6FQZbND5EbEDQZtG8SRgCP0qNiD/tX6k0kltGe9EMkvob2tFgHTgTeM9Y6AB1AzOYISIjlN23qWI/4hTO9UzZo4wm/CplFQvC7U7mt2eBy8fpDB2wcTHhPO5IaTaenc0uyQhHhEQv+Vyaq1nq+1jjW+FgBy/SzSnF1nb/LjJh/eqFqYVyoXAq1hzSCIDodXfzS1ncMSZ2HsnrF0W98Nh8wOLGyzUBKHSLUSeuWxTik1DFiM9bZVB2CtUsoJ7s00KESqZonTjFt3ksK5HBjf3pjI6dhSOLHSOuBhvtKmxRZjiWH4zuGsu7CO98u9T9+qfclmK7MeiNQrocnjHeN774fKO2JNJiWSLCIhkkGsJY7P/jqC9+VQpnR0JYutDdwOgHVDoEgNqNPPtNiCI4MZ4jmEvVf3MqDaAHpW6mlaLEIkVEIfEnRJ7kCESC5aaz5eeIh/T1xnQLNSvFblJYgIgt9bQdRteG0aZLIxJbb91/YzePtgQqNDGVt3LO1KtjMlDiES66ltHkqpz+Mtv/3QtnHJFZQQSemvg/78e+I6w1qXZUCz0qjYKPjjFbjlB+/MhfxlTYlr1blV9N7YG0d7R5a8ukQSh0hTntVgHn/ygi8e2tbqRU6slLJRSh1WSq021l2UUnuVUmeVUkuUUnZGub2xftbY7vwi5xUZy/YzAXy5wht3Zyd61S9hbSBfPwxunIB35kPZV1I8Jq01072mM3zncKrmr8q8VvMondu89hYhnsezkod6wvLj1hOrP3Ay3vpE4AetdUkgGLh747cnEGyU/2DsJ8QzXQwMp++iQ7ycPzu/dnEjUyYFB3+3frn1hDIv9P/Pc4m2RDN853BmHJnB6yVfZ0bzGeTKkivF4xDiRT0reegnLD9uPcGUUkWAV4DZxroCmgBLjV3mYh3+HaCdsY6xvamSsRnEM9wIjeSDuQfIpBSzOlfHMast3PSBdcOgZDNo/W2KxxQSFULvjb35x/cfPq36KWPqjME2k22KxyFEUnhWg3kVpVQo1qsMB2MZY/1FnvP4Efic+2Nm5QFuaa1jjXV/oLCxXBi4BKC1jlVKhRj734x/QKVUL6AXQLFixV4gNJEejF59gouBEfzevQZFnbJCVBgs7W4ddqTdz2CT0I6GScM/zJ+PN3+Mf5g/4+uP59USr6bo+YVIas8a2yrJu6AopV4FbmitDyqlGiXVcbXWs4BZAG5ubjJRVQa24fg11hy9ysBmpalbMi9YYuGvbnD9BHT6E3IUSNF4vG540X9rf2LjYpnZfCY1CtZI0fMLkRxS9t8vq7rAa0qpNlivXnJiHTcrl1Iqs3H1UQS4bOx/GSgK+CulMgOOQGDKhy3Sgi2nrjNoiRdlC+bg48YvWws3fgVnN0HbKVCqWYrFEhsXy7Izy5iwfwKFshVietPpuDhKr3eRPqT4SGta6y+01kW01s5Ye3Nt0Vq/B2wF3jJ26wqsNJZXGesY27doreXKQjzi7I3b9F10mKJOWZn+XjVsbTLB9eOwd4a1gbx6txSL5VjAMdquaMvYvWOpWbAmHq94SOIQ6YoZVx5PMhRYrJQaCxwG5hjlc4D5SqmzQBAPdh8WArB2fx39z3EyZ1LM7eFOgZxZIDoC1nwG9jmhyZcpFse8E/P48eCP5Muaj0kNJ9G8WHNsTHoIUYjkYmry0FpvA7YZy76A+2P2iQTefrhciLu01nyx/Bg7fG4ysm15a+KIjYZfm0DASWsDeVanZI8jIiaCL//7ko0XN9K0WFNG1xmNo71jsp9XCDOkpisPIZ7Ld/+eYfH+S/Ss50LX2s7Wwr0zrImj7VSo+l6yx3D59mX6benH2Vtn+az6Z3St0FVm+xPpmiQPkaYdvBjEtK1nea3KSwxrXdb6IODZTbBpJJRuBdW7PvsgL+i/y/8xbMcwLNrCz01/lrnFRYYgyUOkWbejYumz4BD5c9gzvn0lawN5zB349yvI7QJv/Zas57fEWZhxdAYzj8ykZO6S/NDoB4rnLJ6s5xQitZDkIdKkuDjNyJXHCQiL4s/etclmn9k6Qu6fneHGSei4COySbz6MoMgghnoOZc/VPbR7uR3Daw3HIbNDsp1PiNRGkodIk9Z6X2XZIX8+rO+Cu4sTBJy2jpQbHmAdYr1sm2Q7t/dNbwZsHcCtqFuMqTOGN0q98ewXCZHOSPIQac7tqFi+XX+aMgVyMKx1Obh6FOa/DjoOuq+H4rWT5bxaa5b6LGX83vHkc8jH/NbzKZenXLKcS4jUTpKHSHNmbj+HX1AES3rVwkZbYN1Q64aeGyFvqWQ5553YO4zdM5ZV51ZR96W6TKg/QUbDFRmaJA+RphzzD+HXHb68WrkQNUvkgf+mgN8u662qZEocfqF+DNw2EJ9gHz6q8hG9K/eWh/5EhifJQ6QZkTEWPvU4RHZ7W4a2Kgshl2HbRCjdGqp1TpZzbvHbwpc7vyRTpkxMbzqd+kXqJ8t5hEhrJHmINOOHTWe4EBjBwg9qUjTWD/7qZW3naD0hyc8VGxfLtMPTmOM9h/J5yvN9o+8pnL3ws18oRAYhyUOkCUf9b/Grpy8daxSlrnNO+KUlRARB+1mQ2zlJzxV4J5ChnkPZe20vb5V+i2Huw7C3sU/ScwiR1knyEKne5Vt3+GTRIfLlsOeLNuVg3RAIPGudm6N0yyQ9l9cNLz7b9hkh0SF8XfdrXi/5epIeX4j0QpKHSNW01gxYfJhbETEs6FkTx8Aj1jnIq3WFUi2S9DyLTi1i8v7JFMpeiIXNFlLGqUySHV+I9EaSh0jV/jrgz/4LwUx8sxJV8tvAzF6QoxC0/AaSaODBW5G3+HrP1/x78V8aFW3EN/W+IaddziQ5thDplSQPkWrdvB3FqH+O4+7ixNtV8sPC9hB8HrquBvscSXIOT39PRu4aya2oWwyoNoDuFbuTSaX4HGlCpDmSPESqNWPbOSJjLExoX4lMm0fCxf+g/a/g/OKj1sbGxfLdge9YcHIBpXKX4pdmv1DWqWwSRC1ExiDJQ6Q6ljjNmmNXmbf7Im9ULUKJ0P3W+Tnce0Pld174+MGRwQzZPoS91/byXrn3GFR9EHY2dkkQuRAZhyQPkar4XA+jz4KDnAsIp2zBHAypkwP+eh/ylILmo1/4+KeDTtN/a38CIgIYW3cs7Uq2S4Kohch4JHmIVCMoPJq3Z+7mTrSFyW9X4Y1KebH5vSVE3ITOK8D2+Yc811qzzGcZE/ZNwNHekT9a/UGlfJWSMHohMhZJHiLV+Hb9KW5HxrL84zpULpQd1gyEq17QYSEUq/Xcx42yRDF2z1j+Pvs3tQvVZlz9ceR1yJt0gQuRAUnyEKnC5pPXWbz/Er0blKByrmjrEOsXdkC9gVDu1ec+7rXwawzcOhDvQG96Ve7Fx1U+lkENhUgCkjyE6S4FRTD4ryOUL5STz6rGwfSa1ulkX58Bru8+93GPBRyj75a+RFmi+LHxjzQt1jQJoxYiY5PkIUx1NeQOb83YhSVO81OHitit6QDaAt3XQOHqz33cnZd3MmjbIJyyOPF7q98p4VgiCaMWQkjyEKYIiYhh6SF/luz343ZkLAt6uvPynuFwaS+8Oee5E0eUJYr5J+Yz7fC0e89vSPuGEElPkodIcVpruvy2lyP+IRTPk5WfOlam6pkfwWshNBwGld56rmOuO7+OHw/9yNXwqzQt1pRv6n1DNttsSV8BIYQkD5HyVh+9yhH/EMa9UYlONYvBumGw9xeo1gUaDUv08W7eucmY3WPYemkr5fOUZ0zdMdQq9Py9s4QQzybJQ6SoyBgL49eepHyhnHSoURT8D1ifHq/eHV79IdGDHR6+cZjPtn1GaHQog90G836596U3lRApQJKHSDGWOM3Xq09wJSSS795xxebmaVjQ3jpKbvPRiUocDw+hPqP5DErnLp2M0Qsh4pPkIVJE4O0oBizxYofPTXo3KEFtZ0eY9RrY2EG31ZDFMcHHioiJYMyeMazxXUOjIo34pr4MoS5ESpPkIZLdYb9gPlpwiKCIaMa3r0THGkVh82i47g3vzIM8Lyf4WH6hfgzYNoCzwWfp69qXDyt/KEOoC2GCFP+tU0oVVUptVUqdUEodV0r1N8qdlFIblVI+xvfcRrlSSk1VSp1VSh1VSlVL6ZjF84uIjqX3/INktlEs/6gO77oXQ10+BDt/ANf3oNxrCT7WFr8tdFjdgevh1/m52c/0rtJbEocQJjHjNy8W+ExrXR6oBXyilCoPDAM2a61LAZuNdYDWQCnjqxfwS8qHLJ7XT1vOciMsih87uFKxsCPcugQrekG2/NBqQoLaOeJ0HL8c+YX+W/tTPGdx/mz7J/UK10uB6IUQT5Lit6201leBq8ZymFLqJFAYaAc0MnabC2wDhhrl87TWGtijlMqllCpkHEekYiu9LvPLtnO8UbUwbs5OEB0BHh3h9g3ouBCyPLud4lr4NcbuGct2/+20LdGWkXVGYm9jnwLRCyGextQ2D6WUM1AV2AsUiJcQrgEFjOXCwKV4L/M3yh5IHkqpXlivTChWrFjyBS0S5EZoJF+vPkmVormY/HYVCLsOf3a2tnO8txRcGjz19bFxsSw6uYgph6YAMMx9GJ3KdkIl0bzlQogXY1ryUEplB5YBA7TWofH/KGittVJKJ+Z4WutZwCwANze3RL1WJL0xq09wOyqG8W+4Y6OA5R/C5YPwxkwo1fypr/UN8WWY5zBOBp2kYZGG/K/m/3gp+0spE7gQIkFMSR5KKVusiWOh1nq5UXz97u0opVQh4IZRfhkoGu/lRYwykUqtPnqF1Uev0rdxScq/lBOO/w3nt0ObyVCl41Nfu/PyToZsH4KdjR2TG06mRfEWcrUhRCpkRm8rBcwBTmqtv4+3aRXQ1VjuCqyMV97F6HVVCwiR9o7U6bBfMH3mH6TvosO45M3Ghw1KQOA5WDcUClS0PkX+BFprFpxYwCebP6Fw9sJ4vOJBS+eWkjiESKXMuPKoC3QGjimlvIyy/wETgD+VUj2Bi8A7xra1QBvgLBABPPkvkDDNL9vOMfnf0zg62NKzngv9m5Ui57k18E9/iI2yNpDbPP7HLcYSwzd7v2GZzzKaFG3C+PrjyWqbNYVrIIRIDDN6W+0EnvTv5COz9Ri9rD5J1qDEcwsIi2LyhtMsOXCJ1hULMvGtyuTMYgtXvGBpDyhUGdpOgUJVHvv64MhgBm4byMHrB/mw0of0rdpXnt0QIg2QJ8zFc/v9v/N8s+YkGviwvguftyqLrU0miI2GlZ9AtnzQ+W9wyPXY158OOk3/rf0JiAhgQv0JvFLilZQMXwjxAiR5iOfisc+P0f+coGHpfIxoW56X82W/v3HHZGuX3I4ej00cljgL807M46fDP+Fo78jvrX6ncr7KKRe8EOKFSfIQiXY15A6j/zlOnZfzMK1TVXJksbVuiLkDG0fCvplQuQOUbfPIa29F3uKz7Z+x79o+mhVrxle1v8Ipi1MK10AI8aIkeYhECY2M4dNFh1EoJr5Z+X7iiI2y3qryXmYds6rtlEde63vLl0+3fMq18GuMqTOG10u+Lr2phEijJHmIBLsdFcvr0//jYmAEP3RwpahTvB5RS3vAqdXQdCTUH/TA67TWrPZdzdd7vsYhswNzWs7BNb9rygYvhEhSkjxEggSFR9N/8WF8A8L5vVsNGpfNf3/j2U3WxNHky0cSh1+oHyN2jeDg9YNUy1+NSQ0nkT9rfoQQaZskD/FMt6NiGfSnF3t9gxj9WoUHE0foVVjRB/KVhVr3e1RrrVlxdgUT9k0gc6bMfFXrK9qXak/mTPIjJ0R6IL/J4qmCwqPp8tteTlwJ5X9tytG1jvP9jcEX4Y9XITocuq4GO+ttrJCoEMbsHsO/F/+lZsGajK03loLZCppTASFEspDkIZ5Ia03fRYfwuX6b2V3daFK2wP2NgedgbluIum2dRjZ/WeJ0HMt8ljH10FRuR99mQLUBdK/YXR76EyIdkuQhHutOtIUxq4+z61wgo1+r8GDi0BrWDLJecXRfAwUrcfX2Vb7Y+QUHrx+kRsEaDHEbQrk85cyrgBAiWUnyEI+4fOsO3X/fx5nrt/mo0cu8X6v4/Y2xUbCqH/hug9bfEpO/LPOOzWHm0ZkA0gVXiAxCkoe4R2vNrnOBfL36BFduRTKvhzsNSue7v0NEECzpDBd3cqfhUBY62LBoaUsC7gTQpGgTPnf/nMLZC5tXASFEipHkIe75Zfs5vl1/mmx2Nkx+u8qDiSPEHxa/R+z14yxv0Idp19cT7BdMnZfqMKbuGJlTXIgMRpKHAGDJfj++XX+aRmXyMaVjVRwdbO9vPLsZy9LurMhiwy8ly3Dj0lrcC7rzUZWPqF6gutyiEiIDkuSRwWmt+WnLWb7feIb6pfIy4/3qZLG1ub/9lj+b1n7ErPy5OWUTR9XcLzO8QjcaF20sSUOIDEySRwbmfTmEHzedYdPJG7xauRA/dHC1DqluCDm5iq+3fcYGxyw4Zy3AhOr9aePSRpKGEEKSR0a069xNftzow74LQWS1s+HLV8rRs57LvaRgibOwfNc4Zpz2IMghC/1Ld6J7zc+xyWTzjCMLITIKSR4ZSIwljpGrjrNorx8Fc2bhy1fK8bZb0QfaN3Zf2c3kXaM4E36FytgwtdlMKhSpY2LUQojUSJJHBuF16RYDl3hx/mY4XWoXZ0jLMveHUwfOnV3Hd/snsyP6BoVjYplkyUrLjqtQjtL1VgjxKEkeGYDXpVt0mbOXnA62zOxcnZYV7o8zdT3EjxkbPmJFxEUctGYQuelU7m3s3XqAfQ4ToxZCpGaSPNIxrTVLD/rzxfJjFMiZhcW9alEkt3XwwhPXvZi9dyJbg7wBzTtZitKn+RSc8pQ2N2ghRJogySOdOnAhiFmevvx74jruLk7M6lydXDbR3NwxiZ9PL2ZZ5ihyxsXRKVrxboMxFCn/ptkhCyHSEEke6UhkjIV/jlxh2tazXAyMwMHWht4NS9DJ+Rzr57qxJHMUZ+3ssMkMnXKUpk+pd3As2QKyyhziQojEkeSRxmmtOX4llBWHLzN/90WiLXGULZiDka+Wwz3HAeaeHkTbvZfQWRVl7ArQ/6X6NKnSkxK5SpgduhAiDZPkkUYduXSLZYf8Wed9jYCwKADerl6EV0s7YHP5Z5b67OBHFYW91vRQuXit5TRcCrjKA35CiCQhySON8QuM4KuV3mw/E4BNJkWDUnmpVyofbnmucOjEN0w84M2lzDbkVorued3oUncETrnlKkMIkbQkeaQBljjNmethLDvoz8K9fmTJZGFUg0yUynuJ3VfmsfTcGX48FwNANbtcfFKhM82r9MTOxs7kyIUQ6ZUkj1TM+3IIv/13mrWnjhGjQilh50uzwvvwtg3juwAbCIBMWlPbkpl3nCpRv0ZfSsrT4EKIFCDJIxXZdfYmW8+eZ9vFvQTGXOBOJh8yZz2PbXGNLXANuB2nqZe1GBVyl+alXC9T5+VXyJ6npNmhCyEyGEkeJouLi2Ppsf38cnAJN+L2kMk2DLKAsocSFmgREkLZqGjyZs1HbtfOFK32AbbStVYIYTJJHiksTsfhE3QeT78DbDi3A5+wQ8RlCkNlgoYxUDs0GJeYGGpEa+yLuEGNXlCsDhSsCJntzQ5fCCGANJQ8lFKtgCmADTBbaz3B5JCeKTYuFr8wP3b7neA/P298Ak8TbDlNVKYwALJaMtE4MprGESHUuXOHfC+5Q+OhUKw25HYGGQJdCJFKpYnkoZSyAaYDzQF/YL9SapXW+kRKxaC1JiYuhmhLNNFx0URboomKjSYgPJyb4eEEhoVyNegifqFnuHrnIjdjLhNEMHFKW+ugNYVjY6kTHUOjiDtUjIrBObMjdi51oERjKNUcHIukVHWEEOKFpInkAbgDZ7XWvgBKqcVAOyBJk8fpoNN87vn5vQQRY4m5lyhi4mISfJzCMbFUiImhRHQMLjFxFMOB4k5lcSpZj0y5i0HeUlCwCtiklbdfCCEelFb+ehUGLsVb9wdqxt9BKdUL6AVQrFix5zpJ1sxZeTnXy9jZ2GGXyQ47GztsM9la1+OVKZ2ZDXtPUj9qN/Z22bCzz46DfQ7yZctLWScX8jgWIFPOQpC3tHVYc3mqWwiRzqSV5PFMWutZwCwANzc3/TzHKJqzKN83+j5B+3ap+DxnEEKI9CGT2QEk0GWgaLz1IkaZEEIIE6SV5LEfKKWUclFK2QEdgVUmxySEEBlWmrhtpbWOVUr1BTZg7ar7m9b6uMlhCSFEhpUmkgeA1notsNbsOIQQQqSd21ZCCCFSEUkeQgghEk2ShxBCiEST5CGEECLRlNbP9TxdqqaUCgAuPufL8wI3kzCctCIj1jsj1hmk3hlJYutcXGudLyE7psvk8SKUUge01m5mx5HSMmK9M2KdQeptdhwpKTnrLLethBBCJJokDyGEEIkmyeNRs8wOwCQZsd4Zsc4g9c5Ikq3O0uYhhBAi0eTKQwghRKJJ8hBCCJFokjziUUq1UkqdVkqdVUoNMzueF6WUuqCUOqaU8lJKHTDKnJRSG5VSPsb33Ea5UkpNNep+VClVLd5xuhr7+yiluppVnydRSv2mlLqhlPKOV5Zk9VRKVTfex7PGa02fGvIJdR6llLpsfN5eSqk28bZ9YcR/WinVMl75Y3/mjekP9hrlS4ypEEynlCqqlNqqlDqhlDqulOpvlKfbz/spdTb389Zay5e13ccGOAeUAOyAI0B5s+N6wTpdAPI+VPYtMMxYHgZMNJbbAOsABdQC9hrlToCv8T23sZzb7Lo9VKcGQDXAOznqCewz9lXGa1un0jqPAgY/Zt/yxs+zPeBi/JzbPO1nHvgT6GgszwA+MrvORiyFgGrGcg7gjFG/dPt5P6XOpn7ecuVxnztwVmvtq7WOBhYD7UyOKTm0A+Yay3OB1+OVz9NWe4BcSqlCQEtgo9Y6SGsdDGwEWqVwzE+ltfYEgh4qTpJ6Gttyaq33aOtv1rx4xzLNE+r8JO2AxVrrKK31eeAs1p/3x/7MG/9pNwGWGq+P//6ZSmt9VWt9yFgOA04ChUnHn/dT6vwkKfJ5S/K4rzBwKd66P0//gNICDfyrlDqolOpllBXQWl81lq8BBYzlJ9U/rb4vSVXPwsbyw+WpVV/j9sxvd2/dkPg65wFuaa1jHypPVZRSzkBVYC8Z5PN+qM5g4uctySN9q6e1rga0Bj5RSjWIv9H4zyrd99XOKPUEfgFeBlyBq8B3pkaTjJRS2YFlwACtdWj8ben1835MnU39vCV53HcZKBpvvYhRlmZprS8b328AK7Betl43Ls0xvt8wdn9S/dPq+5JU9bxsLD9cnupora9rrS1a6zjgV6yfNyS+zoFYb+9kfqg8VVBK2WL9I7pQa73cKE7Xn/fj6mz25y3J4779QCmj14Ed0BFYZXJMz00plU0plePuMtAC8MZap7s9S7oCK43lVUAXo3dKLSDEuA2wAWihlMptXBa3MMpSuySpp7EtVClVy7g33CXesVKVu388DW9g/bzBWueOSil7pZQLUApro/Bjf+aN/9y3Am8Zr4///pnK+AzmACe11t/H25RuP+8n1dn0z9vMXgSp7Qtrz4wzWHskDDc7nhesSwmsvSmOAMfv1gfr/c3NgA+wCXAyyhUw3aj7McAt3rF6YG10Owt0N7tuj6mrB9bL9his92t7JmU9ATfjF/McMA1jZIZUWOf5Rp2OGn9ACsXbf7gR/2ni9R560s+88fOzz3gv/gLsza6zEVc9rLekjgJexleb9Px5P6XOpn7eMjyJEEKIRJPbVkIIIRJNkocQQohEk+QhhBAi0SR5CCGESDRJHkIIIRJNkocQ8Sil8sQbpfRavFFLbyulfk6G85VRSm0zznFSKTXLKHeNP0qqEKlN5mfvIkTGobUOxDrcA0qpUcBtrfXkZDzlVOAHrfVK45yVjHJXrM8brE3Gcwvx3OTKQ4gEUEo1UkqtNpZHKaXmKqV2KKUuKqXaK6W+VdY5INYbQ0ncnRdiuzEw5YaHngi+qxDxBuLTWh8znv4dA3Qwrkg6GCMG/KaU2qeUOqyUameco5tSaqVx9eKjlBqZ/O+GEJI8hHheL2Mdxvo1YAGwVWtdCbgDvGIkkJ+At7TW1YHfgG8ec5wfgC1KqXVKqYFKqVzaOlz2CGCJ1tpVa70E6xPDW7TW7kBjYJIx7AxYxzR6E6gMvK2UckuuSgtxl9y2EuL5rNNaxyiljmGdZGe9UX4McAbKABWBjdahibDBOpzIA7TWvyulNmCdI6Ud0FspVeUx52sBvKaUGmysZwGKGcsbjdttKKWWYx3O4sAL11CIp5DkIcTziQLQWscppWL0/XF+4rD+XinguNa69rMOpLW+gvXK5DdlnVa24mN2U8CbWuvTDxQqVZNHhx+XMYdEspPbVkIkj9NAPqVUbbAOqa2UqvDwTso6p/TdNpKCWAf4uwyEYZ1y9K4NwKfGCKsoparG29ZcWefwdsA6A9x/yVAfIR4gyUOIZGC0W7wFTFRKHcE6Emqdx+zaAvA29tkADNFaX8M6RHb5uw3mwNeALXBUKXXcWL9rH9a5Ho4Cy7TWcstKJDsZVVeINEwp1Q3rMON9zY5FZCxy5SGEECLR5MpDCCFEosmVhxBCiEST5CGEECLRJHkIIYRINEkeQgghEk2ShxBCiET7PwGPI+Ceos1rAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x8, y8, label = \"8 Actions\")\n",
    "plt.plot(x9, y9, label = \"9 Actions\")\n",
    "plt.plot(x4, y4, label = \"4 Actions\")\n",
    "plt.xlabel(\"Time Step\")\n",
    "plt.ylabel(\"Episode\")\n",
    "plt.legend()"
   ]
  }
 ],
 "metadata": {
  "interpreter": {
   "hash": "494899efd6527d56ea7f55c588d0081523a17dc3a9ff1107f3394ad815ff2527"
  },
  "kernelspec": {
   "display_name": "Python 3.7.7 64-bit",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  },
  "orig_nbformat": 4
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
